繼續 implementation 之前,我想先做個整個架構的 overview,藉此幫助自己更好的了解想做什麼/該做什麼(?)
Agent-brain 是一個可插拔(plug and play)、可觀測(observable)、可對照實驗(ablation-friendly)獨立於 tools 的 Agent 核心。它把「記憶的表示(Memory Structure)」與「思考流程(Thinking Net Structure)」解耦,讓 user 可以像積木一樣交錯搭配,針對不同任務域找到更好的組合。
目標:
非目標:一次直接復刻所有 paper feature,做一個能取代 openai 的東西 (x);我們採 自下而上 MVP 疊代。
agent-brain 的用法,我想會是
input:
output:
agent-brain 由兩大 Component 組成,分別為 (下圖實線的地方)
每次使用時可以從兩大 Component 中各選一種想要用的組合 e.g., 想要用最暴力的 Message list 記錄歷史訊息,搭配上 re-act 的 thinking net 來組成一個 brain ; 或者是想用 to-do list 的方法搭配有 reflection & refinement 的 Reflexion。應該都是可以的
圖上只畫了 4 種,但其實還能用什麼 vector db (待補) or long/short-term memory。
目標:
每一種都是一種紀錄目前 task 在每個 state 時候當下的狀態。
我相信 (或許) 存在一種最優組合,像是 Tree memory structure 可以爆打所有其他紀錄 memory 的 data structure,不過沒做過實驗沒人知道,那就設計成可以抽換的 component 方便測試。
甚至 user 想自己實做自己合適的 structure 也行。
這邊也只隨便畫了 3 種狀態機 (finite-state machine)... 甚至可能有些 state 還畫錯
不過這邊想表達的是,相比於 paper 直接把某一些更新 memory 當成是 state 下去輪。我們更可以把他們核心想法中每個 state 想做什麼的概念抽象畫
每個 State 不持有內部狀態;所有狀態都落在 Memory。
轉移權在一開始提供 thinking net 時就以定義好,避免隱性轉移與 reentrancy 地雷。
感覺之後相繼實作完各種不同的 mem 與 net 後,還能做個 ablation study 看看哪個組合在什麼問題上比較有效。
另外感覺還需要做一下 context engineering 相關的 survey...
今天先從實作面跳出來,從 top-down 的方式審視了一下整個架構,幫助自己了解目標與目的到底在哪
明天繼續刻 memory ... (圖我畫半天==